package net.bracode.dao;

import java.util.ArrayList;
import java.util.List;

import net.bracode.entity.Participante;

public class ParticipanteListDAO implements ParticipanteDAO {

	private List<Participante> participantes;
	
	public ParticipanteListDAO() {
		this.participantes = new ArrayList<>();
	}

	@Override
	public void save(Participante entity) {
		if(entity.getId() != 0){
			delete(entity.getId());
		}
		this.participantes.add(entity);
	}

	@Override
	public void delete(int id) {
		this.participantes.remove(find(id));
	}

	@Override
	public Participante find(int id) {
		for (Participante participante : participantes) {
			if(participante.getId() == id){
				return participante;
			}
		}
		return null;
	}
	
	@Override
	public List<Participante> find() {
		return this.participantes;
	}

	@Override
	public Participante findByCPF(String CPF) {
		for (Participante participante : participantes) {
			if(participante.getCpf().equals(CPF)){
				return participante;
			}
		}
		return null;
	}

	@Override
	public List<Participante> findByNome(String nome) {
		List<Participante> partipantes = new ArrayList<>();
		for (Participante participante : this.participantes) {
			if(participante.getNome().contains(nome)){
				partipantes.add(participante); 
			}
		}
		
		return partipantes;
	}

}
